import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

class M {
	public long n2;
	public long n_m2;
	public String n2s;
	public String n_m2s;
}

public class NEG2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		HashMap<Long, Long> map = new HashMap<Long, Long>();
		// // int[] a = { 1, 110, 111, 100, 101, 11010, 11011, 11000, 11001 };
		// int[] a = {11, 10, 1101, 1100, 1111};
		//
		// for (int i = 0; i < a.length; i++) {
		// System.out.println(i+1 + ":" + Integer.parseInt(a[i] + "", 2));
		// }

		int N = 32;
		ArrayList<String> list = new ArrayList<String>();
		for (int i = 0; i < N; i++) {
			list.add(Integer.toBinaryString(i));
		}

		for (int i = 0; i < N; i++) {
			map.put(baseMinus2ToDecimal(list.get(i)), (long) i);
			// System.out.println(i + ":" + list.get(i) + ":"
			// + baseMinus2ToDecimal(list.get(i)));
		}

		ArrayList<Long> l = new ArrayList<Long>();

		Set<Long> set = map.keySet();
		for (Iterator iterator = set.iterator(); iterator.hasNext();) {
			Long long1 = (Long) iterator.next();
			l.add(long1);
		}
		Collections.sort(l);

		for (int i = 0; i < N; i++) {
			System.out.println(l.get(i) + ":" + map.get(l.get(i)));
		}

		//
		// for (int i = 0; i < N; i++) {
		// l.add(baseMinus2ToDecimal(list.get(i)));
		// }
		// for (int i = 0; i < N; i++) {
		// // System.out.println(l.get(i));
		// }

	}

	public static long baseMinus2ToDecimal(String num) {
		int n = 0;
		int pow = 1;
		int sign = 1;
		for (int i = num.length() - 1; i >= 0; i--) {
			int bit = num.charAt(i) - '0';
			n += pow * bit * sign;
			sign *= (-1);
			pow *= 2;
		}
		return n;
	}
}
